Systems and methods for autonomous perpendicular imaging of test squares

ABSTRACT

An assessment and reporting system may utilize one or more scanning techniques to provide useful assessments and/or reports for structures and other objects. The scanning techniques may be performed in sequence and optionally used to further fine-tune each subsequent scan. The system may receive or determine a pitch of a surface of a structure or otherwise orthogonally align an optical axis of a camera with respect to a planar surface. An imaging system may capture perpendicular images of sample regions that have a defined area-squared.

PRIORITY CLAIM

This application is a continuation of and claims priority to U.S. patent application Ser. No. 16/149,010 filed on Oct. 1, 2018, titled “Systems and Methods for Autonomous Perpendicular Imaging of Test Squares,” which is a continuation-in-part and claims priority to U.S. patent application Ser. No. 15/883,172 filed on Jan. 30, 2018, titled “Systems and Methods for Autonomous Perpendicular Imaging of Test Squares,” granted on Oct. 2, 2018, as U.S. Pat. No. 10,089,530, which is a continuation of and claims priority to U.S. patent application Ser. No. 15/710,221 filed on Sep. 20, 2017, titled “Systems and Methods for Autonomous Perpendicular Imaging of Test Squares,” granted on Feb. 6, 2018 as U.S. Pat. No. 9,886,632, which is a continuation-in-part of U.S. patent application Ser. No. 15/675,616 filed on Aug. 11, 2017, titled “Systems and Methods for Adaptive Scanning Based on Calculated Shadows,” granted Oct. 2, 2018, as U.S. Pat. No. 10,089,529 which is a divisional application of U.S. patent application Ser. No. 15/360,630, filed on Nov. 23, 2016 titled “Systems and Methods for Autonomous Imaging and Structural Analysis,” granted Aug. 15, 2017 as U.S. Pat. No. 9,734,397, which claims priority to Provisional Application No. 62/417,779 filed on Nov. 4, 2016, titled “Systems and Methods for UAV Assessments and Reporting.” Each of the above applications is hereby incorporated by reference in its entirety.

TECHNICAL FIELD

This disclosure generally relates to systems and methods for autonomous assessment and data capture relating to roofs and other structures. Specifically, this disclosure relates to methodical and improved image collection, analysis, processing, and reporting using unmanned aerial vehicles to capture perpendicular images of defined sample regions of a roof, such as test squares.

BRIEF DESCRIPTION OF THE DRAWINGS

Non-limiting and non-exhaustive embodiments of the disclosure are described herein, including various embodiments of the disclosure with reference to the figures listed below.

FIG. 1A illustrates a site selection interface to receive an electronic input identifying a location of a structure, according to one embodiment.

FIG. 1B illustrates parcel boundaries associated with the location identified in FIG. 1A, according to one embodiment.

FIG. 2 illustrates a boundary identification interface to receive electronic input identifying geographic boundaries of an area that includes the structure, according to one embodiment

FIG. 3A illustrates a structure identification interface, according to one embodiment.

FIG. 3B illustrates close-up view of the parcel boundaries and the structure identified in FIG. 3A, according to one embodiment.

FIG. 4 illustrates a boustrophedonic scan of a site, according to one embodiment.

FIG. 5 illustrates an elevation map, according to one embodiment.

FIG. 6A illustrates an unmanned aerial vehicle (UAV) performing a micro scan of a site, according to one embodiment.

FIG. 6B illustrates an elevation map of structure to allow for micro scans or detailed scans to be performed from a consistent distance to each portion of the structure, according to one embodiment.

FIGS. 7A-C illustrate a loop scan and a model of a structure, according to one embodiment.

FIG. 8 illustrates a UAV determining a pitch of a roof, according to one embodiment.

FIG. 9 illustrates a UAV assessment and reporting system using the date and time to identify and/or eliminate shadows in image captures, according to one embodiment.

FIG. 10 illustrates a UAV assessment and reporting system for analyzing a structure, according to one embodiment.

FIG. 11 illustrates a UAV measuring distances to two points on a roof and determining a pitch thereof based on an angle between the distances, according to one embodiment.

FIG. 12 illustrates a captured image of a planar section of a structure with perspective distortions to the rectangular shape of the roof, according to one embodiment.

FIG. 13A illustrates a captured image of a planar section of a roof at a first distance exhibiting perspective distortions to the rectangular shape, according to one embodiment.

FIG. 13B illustrates a captured image of a planar section of a roof at a second, closer distance exhibiting relatively exaggerated perspective distortions to the rectangular shape, according to one embodiment.

FIG. 14A illustrates a captured image of a structure exhibiting perspective distortions to the rectangular shape, according to one embodiment.

FIG. 14B illustrates a side view of the planar section of the roof of FIG. 14A corresponding to the hypotenuse of known measurements, according to one embodiment.

FIG. 15 illustrates a captured image of a planar section of a roof exhibiting perspective and skewed distortions to the rectangular shape, according to one embodiment.

FIG. 16A illustrates three sensor measurements at common angles to determine a perpendicular angle to capture an un-skewed image, according to one embodiment.

FIG. 16B illustrates three sensor measurements at common angles with identical distances confirming the perpendicular angle for capturing un-skewed image, according to one embodiment.

DETAILED DESCRIPTION

This disclosure provides methods and systems for assessing structures and/or other personal property using an unmanned aerial vehicle (UAV). A UAV may carry an imaging system to capture a sequence of images of a target object, such as a structure. The UAV may initially position itself above the location of interest to allow the imaging system to capture a nadir image of an area of interest that includes a target structure. The UAV may subsequently follow a boustrophedonic flight path while the imaging system captures a series of closer images and/or collects non-image scan information. The UAV may subsequently position itself around the structure to collect oblique images at one or more heights on each critical side of the structure and/or the vertex of the structure. To collect partial or full structural information, the UAV may perform a loop scan while the imaging system captures a set of oblique images. For additional detailed images of the area of interest, the UAV and imaging system may perform a series of micro scans. Using the collection of images, a rendering system may generate interactive models of the target structure or another object.

In various embodiments, UAV hardware, firmware, and/or software may be modified, upgraded, and/or programmed to perform the functions, methods, and behaviors described herein. In some embodiments, software, hardware, and/or firmware may be created to interface with pre-existing UAV interfaces. In other embodiments, modifications to one or more portions of a UAV may be made to accomplish the described systems and methods.

Currently, to conduct a site survey, a trained technician must be physically present. For example, when an insurance claim is submitted, an insurance agent must travel to the property to assess the damage. Property inspectors also frequently visit structures to manually inspect a property as the result of a homeowner request for an insurance policy quote or a desire to mortgage or refinance a property through a large financial institution. Similarly, solar panel assessment and construction estimates require a trained technician to be on-site. These tasks usually require the trained technician to walk the site, manually photograph the site, and even occasionally climb up on structures for detailed examination. Each technician may perform certain aspects of their jobs differently, resulting in a lack of uniformity. Further, requiring a trained technician to visit sites personally is laborious, dangerous, and/or expensive.

In some embodiments of the present disclosure, a technician may manually operate a UAV to perform one or more assessment tasks. For example, a technician may manually operate a drone to capture photographs that would have required the technician to scale a building. However, this approach may still require a technician to manually operate the UAV and fails to solve the uniformity problem. Some UAVs have semi-autonomous capabilities. These UAVs may be directed to capture photographs of an operator-identified location. However, semi-autonomous UAVs may not capture a comprehensive image collection of the entire site and may not provide adequate information to replace an on-site technician.

A UAV assessment and reporting system described herein provides a comprehensive, automatic (or at least semi-automatic), and methodical approach for assessing a structure or other object for a particular purpose. For example, the types of assessments, reports, and images collected may vary based on a specific use case. Generally, the approaches obviate the need for an industry-specific trained technician to be present or at least greatly reduce the workload of a technician.

The UAV assessment and reporting system may comprise a site selection interface to receive an electronic input identifying a location of a structure, a boundary identification interface to receive electronic input identifying geographic boundaries of an area that includes the structure, and a UAV to receive the geographic boundaries and the location of the structure from the site selection interface and conduct a structural assessment. The UAV assessment and reporting system may also include a hazard selection interface to receive electronic input identifying geographic hazards such as above-ground power lines, tall trees, neighboring structures, etc. The UAV assessment and reporting system may allow for these hazards to be eliminated from the flight plan to produce a safe path for automated imagery and data capture.

The UAV may include a camera to capture images of the structure, sonar sensors, lidar sensors, infrared sensors, optical sensors, and/or radar sensors. The UAV may include an onboard processor and/or a communication interface to communicate with the controller and/or the interface's cloud-based processing. The UAV may include a non-transitory computer-readable medium for receiving and storing instructions that, when executed by the processor, cause the UAV to conduct a structural assessment. The structural assessment may include a boustrophedonic scan of the area defined by geographic boundaries that includes the structure. The boustrophedonic scan may include capturing images during a boustrophedonic flight pattern within a first altitude range. The boustrophedonic scan may also or, alternatively, include determining distances to a surface for each of a plurality of potential vertical approaches within the area defined by the geographic boundaries. The UAV assessment and reporting system may include identifying a structure on the site based on the identified geographic boundaries and/or the boustrophedonic scan of the area. The UAV assessment and reporting system may additionally or alternatively include a loop scan of the structure. The loop scan may include a second flight pattern for the UAV to travel around the perimeter of the structure. The second flight pattern may be at a second altitude range lower than the first altitude range. Finally, the UAV assessment and reporting system may additionally or alternatively include a micro scan of the structure in a third flight pattern that includes vertical approaches proximate the structure to capture detail images of the structure.

In one embodiment, a site may be identified and the UAV may fly to the site and capture a collection of high-resolution images following a comprehensive and methodical autonomous flight pattern. In another embodiment, an unskilled operator may take the UAV to the site, and capture a collection of high-resolution images with little to no training. The UAV system may automatically conduct the assessment via an autonomous flight pattern. Based on the assessment or report selected, a UAV assessment and reporting system may determine the appropriate flight pattern, types of images to be captured, number of images to be captured, detail level to be captured, attributes to be identified, measurements to be made, and other assessment elements to be determined.

The UAV assessment and reporting system may use a satellite and/or aerial image to initially identify a site to analyze. In one embodiment, a site selection interface on the operator client may present a satellite image. The site selection interface may receive, from the operator, an electronic input identifying a location of a structure. The operator client may be a controller, computer, phone, tablet, or another electronic device. The operator may mark, via an electronic input on a boundary identification interface, one or more geographic boundaries associated with the structure and/or site. The operator may also identify, on the operator client, obstacles, boundaries, structures, and particular points of interest.

For example, an operator who is attempting to scan a residential lot may be presented with a satellite image on his phone. The operator may select each corner of the lot to identify the boundaries of the lot. The operator may then drag his finger along the border of a house on the lot to mark the perimeter of the house. Further, if the lot has trees or other obstacles, the operator may press and hold to identify their location and enter an estimated height. The operator may also circle certain areas on the satellite image to identify particular points of interest. For instance, if the operator is collecting images for an insurance claim on a house that has had its fence blown over by a recent microburst, the operator may circle the fence for a closer inspection and data capture.

In an alternate embodiment, the UAV assessment and reporting system may automatically identify obstacles, boundaries, structures, and particular points of interest using satellite images, county records, topographical maps, and/or customer statements. For example, the UAV assessment and reporting system may receive an address of a commercial property to be assessed for damage caused by a tornado. The UAV assessment and reporting system may use available county records to determine the boundary of the property, and topographical maps of the area to identify objects and structures. Further, if a customer submits a claim stating that the entry of a warehouse on the site has collapsed, the UAV assessment and reporting system may receive and parse the submitted claim to identify the entrance as a particular point of interest. Alternatively, a technician or other user may electronically identify the entrance on a map or satellite image.

After the site is identified, the UAV may receive the location of the structure and the identified geographic boundaries. The UAV may first take a nadir image (i.e., top-down) of the entire site. The UAV assessment and reporting system may use the nadir image to align the UAV with landmarks established in the initial identification of the site and structure. The UAV assessment and reporting system may also use the nadir image to generate a flight pattern or adjust a predefined flight pattern to ensure accuracy and uniformity. The flight pattern may include three flight stages: (1) a boustrophedonic scan, (2) a loop scan, and (3) a micro scan. In some embodiments, a structural assessment may require only one or two of the three types of scans.

During a first scan stage, the UAV may perform a boustrophedonic scan. During the boustrophedonic scan, the UAV may follow a flight pattern where the UAV travels from edge to edge of the site in alternating offset zones. The camera on the UAV may capture images of the site as the UAV travels in its boustrophedon pattern. The UAV assessment and reporting system may merge the images to form a detailed aerial view of the site. The level of detail in the detailed aerial view may be improved by lowering the altitude of the UAV and using minimal offsets. However, the altitude used for a boustrophedonic scan may be limited due to the height of structures and obstacles on the site.

During a second scan stage, the UAV may perform a loop scan to analyze the angles of a structure. The loop scan may include a flight pattern that positions the UAV at the perimeter of the structure and/or the site. The loop scan may include the UAV traveling around the perimeter. As the UAV travels around the perimeter, the UAV may lower its altitude and the camera captures images of the structure at one or more angles. The angles may be oblique or perpendicular to the walls of the structure (i.e., non-zero). The UAV assessment and reporting system may use these images to create a three-dimensional model of the structure. In one embodiment, the UAV may make multiple passes around the perimeter of the structure at different altitudes. For example, the UAV may fly around the perimeter at a first altitude to capture images of the structure at a first angle, and then fly around the perimeter at a second altitude to capture additional images of the structure at a second angle. The number of passes around the perimeter and the lowering of UAV altitude after each pass may vary based on a desired assessment or report. Each additional pass may provide more accurate structural images for a three-dimensional model, construction assessment, solar panel installation assessment, and/or damage assessment.

During a third scan stage, the UAV may perform a micro scan for close up photos of a structure or other areas of interest. The micro scan over the surface of the structure may provide detailed images for assessing the structure and/or other personal property. The granularity from the micro scan may assist in detailed measurements, damage identification, and material identification. For example, the micro scan may allow an insurance adjuster to zoom in on a 3D model of the structure to view and assess a small patch of roof that has been damaged, identify a stucco color or a material of a structure, etc.

In one embodiment, to perform the micro scan, the UAV may perform a series of vertical approaches near the structure. During the micro scan, the UAV may utilize a base altitude that is higher than at least a portion of the structure or other personal property of interest. The UAV may begin in a starting position at the base altitude and lower its altitude until it is at a target distance from the structure. In one embodiment, the camera on the UAV may capture an image when the target distance is reached. In another embodiment, the camera may take a set of images as the UAV lowers in altitude. After the image at the target distance is captured, the UAV may return to the base altitude and travel a target lateral distance and once again lower its altitude until it is at a target distance from the structure. The target lateral distance may be determined based on the area of the structure captured by each image. In some embodiments, the images may slightly overlap to ensure coverage of the entire structure. The UAV may continue to perform vertical approaches separated by the target lateral distance until the entire structure has been covered or a specified portion of the structure has been assessed.

In another embodiment, to perform the micro scan, the UAV may traverse the surface of a structure or other personal property at a target lateral distance and the camera may capture images as the UAV travels in a boustrophedonic or circular pattern. To avoid a collision, the UAV may use the angled images from the loop scan to determine any slope or obstacle on the surface.

In one embodiment, the UAV may include proximity sensors. The proximity sensors may be used to avoid obstacles on and surrounding the structure and thereby identify safe flight areas above and proximate the structure and surrounding objects. The safe flight areas are locations where the UAV may fly very close to the structure and capture images. The proximity sensors may also be used to determine how close the UAV is to the structure. For example, a UAV may be programmed to capture images at a distance of five feet from the structure. The proximity sensors may send a signal indicating to the UAV that it has reached the target distance, five feet, and the camera may take a photograph in response to the signal. The target distance may be adjusted based on desired detail, weather conditions, surface obstacles, camera resolution, camera field of view, and/or other sensor qualities. In some embodiments, infrared and other non-optical sensors may be used to provide additional assessment data. For example, materials may be identified based on a spectral analysis and/or damage may be identified based on infrared leaks in a structure.

As can be appreciated in the preceding paragraph, a target distance may be adjusted based on, among other things, a camera field of view. A target distance may be selected for a given camera field of view to attain captured images corresponding to specific dimensions on a surface of a roof. A camera may have a fixed field of view or an adjustable (zoomable) field of view. The square footage and dimensions of the portion of the roof captured in an image depend on the field of view of the camera and the distance of the camera from the roof. A target distance may therefore be determined for a given field of view to ensure that the image captures corresponds to portion of the roof having specific dimensions.

As a specific example, a target distance and field of view combination can be determined to capture images of sample regions having 100 square feet. In some embodiments, a target distance may be fixed and the field of view of the camera adjusted to ensure image captures correspond to a 100 square-foot area. In other embodiments, a distance may be adjusted based on a fixed field of view of the camera to ensure that a captured image corresponds to a 100 square-foot area. In yet other embodiments, the distance of the UAV from the surface of the roof and the field of view of the camera may be adjusted to ensure image captures correspond to a 100 square-foot area.

In some embodiments, it may be helpful to have a specific pixel density or be within a predetermined range of pixel densities. By adjusting the distance of the UAV from the surface of the roof, the field of view of the camera, and/or cropping of the image, an image may be captured with a specific pixel density that corresponds to specific dimensions on the surface of the roof.

Restating the above more generally, a target distance may be selected based on desired detail, weather conditions, surface obstacles, camera resolution, camera field of view, and/or other sensor qualities. Thus, for a given field of view, a target distance may be selected to ensure that a captured image corresponds to specific dimensions on the surface of the roof.

In some embodiments, a fixed field of view camera may be used and one or more predetermined distance between the surface of the roof and the UAV may be defined to ensure that captured images correspond to one or more corresponding dimensions on the surface of the roof. In a specific embodiment, the field of view may be square and a target combination of distance and field of view may be used to ensure that captured images correspond to a 10-foot by 10-foot test square.

In some embodiments, the 10-foot by 10-foot test square may be captured using a camera with a rectangular (e.g., 16:9, 3:2, 2:2, or 4:3) aspect ratio, in which case the image may be cropped during capture and/or as part of post-processing. Even if post-processing cropping is used, knowing the exact dimensions of the original, potentially rectangular, image ensures that cropped images correspond almost exactly (or even exactly) to the target dimensions. Such a UAV system may be said to provide a “virtual test square” whether by original image capture at specific dimensions or by cropping of an image to have specific dimensions.

In still other embodiments, a camera having a 16:9, 3:2, or 4:3 aspect ratio (or another aspect ratio) may be used to capture an image that corresponds to 100 square feet without cropping. For instance, a camera with a 16:9 aspect ratio may be positioned at a target distance for a given field of view to capture an image that corresponds to a portion of the roof that is 13.3333 feet wide and 7.5 feet tall. A sample region may have any desired or target square footage, pixel density, length, width, and/or another size or image quality characteristic. As described below, to ensure captured images correspond to rectangular and/or square “test areas” or “sample regions,” perpendicular image capture may be performed based on a calculated, measured, estimated, or known pitch of the surface of the roof. Test squares, sample regions, patch scans, test rectangles, sample patches, and various other terms may be used synonymously in the industry and may be used interchangeably herein to the extent context does not dictate otherwise.

In other embodiments, the UAV may use additional and/or alternative methods to detect proximity to obstacles and the structure. For example, the UAV may use topographical data. As another example, the UAV may have a sonar system that it uses to detect proximity. As yet another example, the UAV may determine the proximity to the structure based on the angled images from the loop scan. For instance, the UAV assessment and reporting system may calculate the height of walls based on the angled images and determine an altitude that is a target distance above the height of the walls to descend for each image capture.

The location of the micro scan may be determined in a variety of ways. In one embodiment, the micro scan may include an assessment of the entire structure as identified by the operator. In another embodiment, the micro scan may include an assessment of only a portion of interest identified by the operator. For example, for a solar panel installation or construction assessment on or near a structure, a micro scan and/or loop scan may be needed for only a portion of the structure. In yet another embodiment, the UAV assessment and reporting system may intelligently identify portions of interest during one or both of the first two scanning stages and only micro scan those areas.

Additionally, in some embodiments, the UAV assessment and reporting system may perform multiple micro scans with different levels of resolution and/or perspective. For example, a first micro scan may provide detailed images at 10 or 20 feet above a roof. Then a second micro scan may image a portion of the roof at five feet for additional detail of that section. This may allow a faster capture of the roof overall while providing a more detailed image set of a portion of interest. In one embodiment, the UAV assessment and reporting system may use the first micro scan to determine the portion to be imaged in the second micro scan.

In some embodiments, the UAV assessment and reporting system may use each scan stage to improve the next scan stage. For example, the first scan stage may identify the location of objects. Sonar or optical sensors may be used in the first scan stage to identify the height of the objects and/or physical damage. The location and height of the objects identified in the first scan stage may determine where the loop scan occurs and the altitude at which the angled photographs are taken. Further, the first and second stages may identify particular points of interest. The third stage may use the particular points of interest to determine the location of the micro scans. For example, during a loop scan, the autonomous flying system may identify wind damage on the east surface of a structure. The micro scan may then focus on the east surface of the structure. The identification of particular points of interest may be done using UAV onboard image processing, server image processing, or client image processing.

The UAV assessment and reporting system may automatically calculate a pitch of a roof. In a first embodiment, the UAV assessment and reporting system may use the UAV's sonar or object detection sensors to calculate the pitch of the roof. For example, the UAV may begin at an edge of the roof and then travel toward the peak. The pitch may then be calculated based on the perceived Doppler effect as the roof becomes increasingly closer to the UAV as it travels at a constant vertical height. In a second embodiment, the UAV may land on the roof and use a positioning sensor, such as a gyroscope, to determine the UAV's orientation. The UAV assessment and reporting system may use the orientation of the UAV to determine the slope.

In some embodiments, a UAV may hover above the roof but below a peak of the roof. Sensors may determine a vertical distance to the roof below and a horizontal distance to the roof, such that the roof represents the hypotenuse of a right triangle with the UAV positioned at the 90-degree corner of the right triangle. A pitch of the roof may be determined based on the rise (vertical distance down to the roof) divided by the run (horizontal forward distance to the roof).

In some embodiments, a UAV may not determine an actual pitch or slope of the roof. Instead, the UAV may determine that the camera is aimed perpendicular to the roof and capture a perpendicular or orthogonal image aligned with the planar surface of the roof. For example, in one embodiment the UAV may measure a distance from the camera, UAV, or camera mount in three directions at the same angle. Moving the camera and/or UAV until the measured distances in three directions are equal, with each measurement taken at the same angle relative to the optical axis of the camera, ensures that the optical axis is orthogonal to the planar surface of the roof. A comparison can be drawn to a stool with three legs. The three legs are typically the same length and extend from the seat of the stool at the same angle. The seat of the stool will be parallel to the planar surface upon which the three legs rest.

In much the same way, the three equal distance measurements at the same angle relative to the surface of the roof can ensure that the plane of the camera sensor is parallel to the surface of the roof. Any three distances to the roof surface at known angles relative to the optical axis of the camera may be used to align the optical axis perpendicular or orthogonal to the planar roof surface.

In other embodiments, the UAV may capture one or more images to measure one or more distances and one or more angles. Measuring a sufficient number of angles and distances, the UAV can utilize the Law of Cosines, the Law of Sines, and/or other trigonometric rules, identities, and theorems to determine a slope or pitch of the roof. The UAV may utilize the determined slope or pitch of the roof to capture images with the optical axis of the camera orthogonal to the planar surface of the roof (i.e., with an image sensor parallel to the planar surface of the roof).

In some embodiments, a UAV may hover above the roof at a first location and measure a vertical distance from the UAV to the roof (e.g., downward). In one such embodiment, a downward sensor may be used. The UAV may then move horizontally to a second location above the roof and measure the vertical distance from the UAV to the roof. Again, the roof becomes the hypotenuse of a right triangle, with one side of the triangle corresponding to the horizontal difference between the first location and the second location, and the second side of the triangle corresponding to the vertical difference between the distance from the UAV to the roof in the first location and the distance from the UAV to the roof in the second location.

In some embodiments, a UAV may hover above the roof at a first location and measure a horizontal distance from the UAV to the roof. In such embodiments, a forward, lateral, and/or reverse, sensor may be used. The UAV may then move vertically to a second location above the roof and measure the horizontal distance from the UAV to the roof. Again, the roof become the hypotenuse of a right triangle, with one side of the triangle corresponding to the vertical difference between the first location and the second location, and the second side of the triangle corresponding to the horizontal difference between the distance from the UAV to the roof in the first location and the distance from the UAV to the roof in the second location.

In some embodiments, the UAV assessment and reporting system may use three or more images and metadata associated with those images to calculate the pitch of the roof. For example, the UAV may capture a first image near the roof. The UAV may then increase its altitude and capture a second image above the first image. The UAV may then fly laterally towards the peak of the roof until the proximity of the UAV to the roof is the same as the proximity of the first image. The UAV may then capture a third image. Each image may have metadata associated with it including GPS coordinates, altitude, and proximity to the house. The UAV assessment and reporting system may calculate the distance of the roof traveled based on the GPS coordinates and altitude associated with the three images using the Pythagorean theorem. The UAV assessment and reporting system may then calculate the pitch by taking the ratio of the altitude and the distance of the roof traveled.

In some embodiments, a calculated pitch of the roof may be matched with the closest standardized pitch. The calculated pitch may be slightly inaccurate due to measurement inaccuracies and/or other limiting characteristics of the environment, construction, and/or sensor capabilities. For example, a calculated pitch of a roof may indicate that the pitch of the roof is 37.8 degrees. The closest standardized pitch may be determined to be a 10:12 pitch with a slope of 39.81 degrees. As another example, a calculated pitch may be 46.45 degrees and the closest standardized pitch may be determined to be a 12:12 pitch with an angle of 45.0 degrees. In some embodiments, the standardized pitch may be used instead of the calculated pitch. In other embodiments, the calculated pitch may be used because it is sufficiently accurate and/or more accurate than the closest standardized pitch.

In some embodiments, to maintain stationary a UAV may have to tilt the body and/or one or more propellers to compensate for wind or other environmental factors. For various measurements and scans described herein, the images, measurements, and/or other captured data may be annotated to identify the tilt or angle caused by the UAV tilt. In other embodiments, the sensors, cameras, and other data capture tools may be mechanically or digitally adjusted, such as gyroscopically for example. In some embodiments, measurements, such as distances when calculating skew and/or roof pitch, may be adjusted during calculations based on identified UAV tilt due to environmental factors.

The UAV may use the calculated pitch to adjust the angle of the camera to reduce image skew during a micro scan and/or loop scan. For example, once the pitch is calculated the UAV may perform a micro scan with the camera at a perpendicular angle to the roof and/or de-skew the image using software on the UAV, during post-imaging processing, and/or through cloud-based processing. In various embodiments, the calculated pitch is used to angle the camera so it is perpendicular to the roof to eliminate or substantially reduce skew.

In some embodiments, a pitch determination system may determine a pitch of the roof based on at least two distance measurements, as described above, that allow for a calculation of the pitch. An imaging system of the UAV may capture an image of the roof of the structure with the optical axis of the camera aligned perpendicular to a plane of the roof of the structure by adjusting a location of the UAV relative to a planar surface of the roof and/or a tilt angle of the camera of the UAV.

As previously described, in various embodiments the UAV may capture sample regions having a defined size (e.g., 10-foot×10-foot, or 100 square feet, or 3-meter×3-meter, etc.). Compatibility with industry standard “test squares” (e.g., sample regions, patches, etc.) may be desirable.

Traditional “test square” analysis requires a human adjuster to inspect a roof and draw a 10-foot×10-foot region using chalk, this is largely to reduce the workload of the adjuster or another evaluator. The thought is that the test square is large enough to be representative of the rest of the roof (or at least a face of the roof), and so there is no need to do a complete analysis. The presently described systems and methods allow for “virtual test squares” to be created by capturing images orthogonal to the surface of the roof at target distances and field of views. That is, an orthogonal image can be captured to obtain a virtual test square (or rectangle) having defined dimensions and/or a defined area by positioning the UAV at specific distance for a given field of view, by adjusting the field of view for a given distance, and/or a combination thereof. A number and/or severity each of the damage points or other defect points may be identified within the virtual test square.

The UAV assessment and reporting system may also reduce and/or identify shadows in the images by calculating the current angle of the sun. The UAV assessment and reporting system may calculate the angle of the sun based on the time of the day, the day of the year, and GPS location. To eliminate the UAV's shadow from appearing in captured images, the UAV assessment and reporting system may apply the angle of the sun to the current UAV position in flight. The UAV position, the angle/position of the sun, and the relative location of surfaces and structures (e.g., roof) may determine precisely where the shadow of the UAV will appear. The UAV may adjust its position and camera based on the location of the roof shadow to ensure that each photograph will be captured in such a way as to eliminate the UAV's shadow.

In some embodiments, the UAV assessment and reporting system may also use the angle of the sun to determine the best time of day to photograph a site or portion of a site. For example, the shadow of an object on a site may obscure a structure during the morning. Based on the angle of the sun, the UAV assessment and reporting system may determine what time of day the shadow would no longer obscure the structure. The UAV may autonomously collect images during different times of day to ensure that shadow-free images of all, most, or specific portions of the structure are captured during boustrophedonic, loop, and/or micro scans.

For example, a UAV assessment system for imaging a structure may utilize a site selection user interface to receive electronic input from a user identifying a geographic location of a structure, as previously described. The selection may, for example, be based on one or more of a user input of a street address, a coordinate, and/or a satellite image selection. The UAV may utilize one or more cameras to image the structure (multiple cameras may be used to capture three-dimensional images if desired). A shadow determination system (onboard or cloud-based) may calculate a location of a shadow of the UAV on the structure based on the relative position of the UAV and the sun. A shadow avoidance system may adjust a location of the UAV as it captures images of the structure to ensure that the shadow of the UAV is not in any of the images.

In other embodiments, as described above, the UAV may include a proximate object determination system to identify at least one object proximate the structure, such as a tree, telephone pole, telephone wires, other structures, etc., that are proximate the structure to be imaged. A shadow determination system (local or remote) may calculate (as opposed to directly observe) a location of a shadow cast by the proximate object onto the structure based on a current location of the sun, which can be accurately determined based on a current time and a GPS location of the structure. The imaging system may account for the shadow by (1) annotating images of the structure that include the calculated shadow, (2) adjusting an exposure of images of the structure that include the calculated shadow, and/or (3) identifying a subsequent time to return to the structure to capture non-shadowed images of the portions of the structure that are currently shadowed.

The UAV, server, and operator client may be connected via one or more networks. For example, the UAV may transmit images to the server via a cellular network. Additionally, the UAV may connect to the client via a second network such as a local wireless network. The UAV, server, and operator client may each be directly connected to each other, or one of the elements may act as a gateway and pass information received from a first element to a second element.

A standard flight plan may be saved on the server. The standard flight plan may be loaded on the UAV and altered based on information entered by the operator into the operator client interface. The UAV (e.g., via onboard or cloud-based processors) may also alter the standard flight plan based on the images captured and/or other sensor data.

Some of the infrastructure that can be used with embodiments disclosed herein is already available, such as: general-purpose computers, computer programming tools and techniques, digital storage media, and communications networks. A computer may include a processor, such as a microprocessor, microcontroller, logic circuitry, or the like. The processor may include a special-purpose processing device, such as an ASIC, a PAL, a PLA, a PLD, a CPLD, a Field Programmable Gate Array (FPGA), or other customized or programmable device. The computer may also include a computer-readable storage device, such as non-volatile memory, static RAM, dynamic RAM, ROM, CD-ROM, disk, tape, magnetic memory, optical memory, flash memory, or other computer-readable storage medium.

Suitable networks for configuration and/or use, as described herein, include any of a wide variety of network infrastructures. Specifically, a network may incorporate landlines, wireless communication, optical connections, various modulators, demodulators, small form-factor pluggable (SFP) transceivers, routers, hubs, switches, and/or other networking equipment.

The network may include communications or networking software, such as software available from Novell, Microsoft, Artisoft, and other vendors, and may operate using TCP/IP, SPX, IPX, SONET, and other protocols over twisted pair, coaxial, or optical fiber cables, telephone lines, satellites, microwave relays, modulated AC power lines, physical media transfer, wireless radio links, and/or other data transmission “wires.” The network may encompass smaller networks and/or be connectable to other networks through a gateway or similar mechanism.

Aspects of certain embodiments described herein may be implemented as software modules or components. As used herein, a software module or component may include any type of computer instruction or computer-executable code located within or on a computer-readable storage medium, such as a non-transitory computer-readable medium. A software module may, for instance, comprise one or more physical or logical blocks of computer instructions, which may be organized as a routine, program, object, component, data structure, etc., that perform one or more tasks or implement particular data types, algorithms, and/or methods.

A particular software module may comprise disparate instructions stored in different locations of a computer-readable storage medium, which together implement the described functionality of the module. Indeed, a module may comprise a single instruction or many instructions, and may be distributed over several different code segments, among different programs, and across several computer-readable storage media. Some embodiments may be practiced in a distributed computing environment where tasks are performed by a remote processing device linked through a communications network. In a distributed computing environment, software modules may be located in local and/or remote computer-readable storage media. In addition, data being tied or rendered together in a database record may be resident in the same computer-readable storage medium, or across several computer-readable storage media, and may be linked together in fields of a record in a database across a network.

The embodiments of the disclosure can be understood by reference to the drawings, wherein like parts are designated by like numerals throughout. The components of the disclosed embodiments, as generally described and illustrated in the figures herein, could be arranged and designed in a wide variety of different configurations. Further, those of skill in the art will recognize that one or more of the specific details may be omitted, or other methods, components, or materials may be used. In some cases, operations are not shown or described in detail. Thus, the following detailed description of the embodiments of the systems and methods of the disclosure is not intended to limit the scope of the disclosure, as claimed, but is merely representative of possible embodiments.

FIG. 1A illustrates a site selection interface 100 to receive an electronic input 110 identifying a location 115 of a structure 120. A client device may present the site selection interface 100 to an operator, and the operator may identify the location 115 by entering an address and selecting 130 the search function. As shown, the electronic input 110 may be an address entered by an operator. In another embodiment, the operator may enter GPS coordinates. In yet another embodiment, the operator may select the location 115 with a gesture or based on a selection within the map view.

The site selection interface 100 may also receive an electronic input 110 identifying any obstacles 122. For example, an operator may identify a tree, a shed, telephone poles, or other obstacle using a gesture within the site selection interface 100. In some embodiments, the site selection interface 100 may request an estimated height of the obstacle 122. In other embodiments, the site selection interface 100 may request the object type then estimate the height of the obstacle 122 based on the object type. For instance, a standard telephone pole is 40 feet tall. If an operator identified an obstacle 122 on the site to be a telephone pole, the site selection interface 100 may estimate the height to be 40 feet.

FIG. 1B illustrates parcel boundaries 155 associated with the location 115 identified in FIG. 1A. In various embodiments, parcel information may be determined using aerial photos, satellite images, government records, plot maps, and/or the like.

FIG. 2 illustrates a boundary identification interface 200 to receive electronic input 230 identifying geographic boundaries 217 of an area that includes the structure 220. The geographic boundaries 217 provide an area for the UAV assessment and reporting system to analyze.

To enter the geographic boundaries 217 of the area, an operator may provide electronic input 230 identifying a location on the boundary identification interface 200. As shown, the electronic input 230 may be a mouse click. The electronic input 230 may also be a gesture entered via a touch screen. Additionally, the operator may enter an address or GPS coordinate in an address bar 210.

The electronic inputs 230 provided by the operator may be marked with a pin 216. The pins 216 may be associated with GPS coordinates, and may be placed in corners of the site. The boundary identification interface 200 may automatically form a boundary line between each pin 216. The placement of the pins 216 may be adjusted through the electronic input 230. For example, the operator may select and drag a pin 216 to a new location if the old location was inaccurate. The boundary identification interface 200 may also display the placement of the current pin 216 in a preview window 211.

FIG. 3A illustrates a structure identification interface 300 to receive electronic input 330 identifying structural boundaries 318 of a structure 320. The structural boundaries 318 identify the corners of the structure 320 for the UAV assessment and reporting system to analyze.

To enter the structural boundaries of the structure 320, an operator may provide electronic input 330 identifying a location on the structure identification interface 300. As shown, the electronic input 330 may be a mouse click. The electronic input 330 may also be a gesture entered via a touchscreen. Additionally, the operator may enter an address or GPS coordinate in an address bar 310.

Boundary lines 350 formed by the boundary identification interface 200 of FIG. 2 may be displayed on the structure identification interface 300. In some embodiments any electronic input allowed to be entered in the structure identification interface 300 is limited to the area within the boundary lines 350. In other embodiments, the structure identification interface 300 may present an alert if a structural boundary 318 is located outside of the boundary lines 350. In yet other embodiments, the structure identification interface 300 may adjust the boundary lines 350 if a structural boundary 318 is located outside of the boundary lines 350. The structure identification interface 300 may also display a current property boundary 311.

The electronic inputs 330 provided by the operator may be marked with pins. The pins may be associated with GPS coordinates, and may be placed in corners of the site. The structure identification interface 300 may automatically form a boundary structure line between each pin. The placement of the pins may be adjusted through the electronic input 330. For example, the operator may select and drag a pin to a new location if the old location was inaccurate. The structure identification interface 300 may also display the current pin placement in a preview window 312.

FIG. 3B illustrates close-up view of the parcel boundaries 350 and the structure identified in FIG. 3A by GPS markers. The structure which may be partially or fully defined by the operator is illustrated in bold lines. In some embodiments, the system may utilize the markers in combination with an image (e.g., aerial or satellite) to intelligently identify the structure. In other embodiments, an operator of the system may fully identify the outline of the structure.

FIG. 4 illustrates a boustrophedonic scan of a site 450 defined by the identified geographic boundaries that include the structure 420. During the boustrophedonic scan, the UAV 475 may capture images while following a boustrophedonic flight pattern 480. For clarity, the number of passes shown is eight; however, the actual number of passes may vary based the size of the structure and/or property, on a desired resolution, camera field of view, camera resolution, height of the UAV 475 relative to the surface, and/or other characteristics of the desired scan, capabilities of the UAV 475, and attributes of the surface.

The UAV 475 may fly to a start location. The start location may be at a first corner of the site 450. The UAV 475 may then follow a straight path until a boundary line of the site 450 is reached. The UAV 475 may then turn and follow an offset path in the opposite direction. The UAV 475 may continue to travel back and forth until an endpoint 485 is reached and the entire site 450 has been traveled. The UAV 475 may travel at a high altitude such that it will not collide with any obstacle or structure and/or avoid obstacles in the path by going around or above them. During the flight, the UAV 475 may capture images. In some embodiments, onboard processing or cloud-based processing may be used to identify structures and obstacles. Alternatively, analysis may be conducted after scanning is complete and the UAV has returned home.

FIG. 5 illustrates an elevation map of a site 550 with a structure 520. As illustrated, a UAV 575 may map out the site 550 in a plurality of sub-locals 560 The UAV 575 may record the distances to a surface for each of the plurality of sub-locals 560 within the site 550. Each of the sub-locals 560 may correspond to potential vertical approaches for vertical descents during subsequent scans. The distances may be used to detect the location of a structure or any obstacles (e.g., tree 522) on the site. For example, a UAV may determine the boundaries and relative location of a roof of a structure.

FIG. 6A illustrates a UAV 675 performing a micro scan of a site 650. As shown, the UAV 675 may make a series of vertical approaches for each sub-local 660. The UAV may descend within each vertical approach to a target distance 695 and the capture a detail image of a portion 690 of a structure 620. Some of the descents may culminate proximate a surface of the roof. Other descents may culminate proximate the ground and allow for imaging of a wall of the structure 620 as the UAV 675 descends proximate a wall of the structure 620.

In some embodiments, the entire site may be micro scanned. In such an embodiment, the elevation map 560 from FIG. 5 may provide the height to obstacles 622 and the structure 620. The UAV 675 may determine the altitude change necessary to reach the target distance 695 for each sub-local 660 based on the elevation map 560.

In one embodiment certain portions of the site 650 may be micro scanned while other portions are not. For example, the UAV 675 may not micro scan the obstacle 622. In another example, the UAV 675 may only micro scan the structure 620, or a certain portion 690 of the structure 620.

FIG. 6B illustrates an elevation map of structure 620 to allow for micro scans or detailed scans to be performed from a consistent distance to each portion of the structure 620. The UAV 675 may descend within each vertical approach to within, for example, 15 feet of the structure for detailed images and/or other analysis to be performed.

In some embodiments, the UAV, or associated cloud-based control systems, may identify a pitch of the roof before performing micro scans. In such embodiments and possibly in other embodiments, each descent within each vertical approach may be used to scan (or otherwise analyze or collect data) of a portion of the structure that is not directly beneath the UAV 675. Such an approach may allow for skew-free data collection. In other embodiments, micro scans may be performed directly beneath, to the side, behind, and/or in front of the UAV as it descends within each vertical approach.

FIGS. 7A-7C illustrate a loop scan 701 and a three-dimensional model 700 of a structure 720 on a site 750. The loop scan 701 may take a series of angled images 745 of the walls 748 of the structure 720.

A UAV 775 may perform the loop scan 701 by following a second flight pattern 740 that causes the UAV 775 to travel around the perimeter of the structure 720 at a second altitude range lower than the altitude of the boustrophedonic scan. By following a lower elevation, the UAV 775 captures images of the side of the structure 720. This may be used to create a higher resolution dimensional model 700.

FIG. 8 illustrates a UAV determining a pitch 821 of a roof of a structure 820. The UAV may capture three or more images of the roof: a first image at a first elevation 875, a second image at a second elevation 876, and a third image at a third elevation 877. The first and the second elevations 875, 876 may be below the roof peak. The third elevation 877 may be slightly above the rain gutters. The UAV may use these images along with associated metadata, including proximity data, to determine the pitch 821 of the roof.

The UAV may also detect inconsistencies 830 to the shingles on the roof. The inconsistencies 830 may be a sign of damage to the roof. The UAV may mark the inconsistency 830 as a portion of interest to micro scan.

In various embodiments, the UAV includes a propulsion system to move the UAV from a first aerial location to a second aerial location relative to a structure, as illustrated in FIG. 8. Movements may be horizontal, vertical, and/or a combination thereof. Lateral movements and rotation may also be possible. As previously described, the UAV may include one or more sensors that can be used, or possible are specifically configured to, determined distances to objects, such as a roof. The UAV may determine a distance to a roof at a first aerial location. The UAV may then move to a second aerial location along a movement vector that include one or more directional components (e.g., up, down, left, right, back, forward, which could be more generally described as vertical, horizontal, lateral, or even described using an X, Y, and Z coordinate system). A distance to the roof may be calculated at the second aerial location. A pitch of the roof may be calculated (e.g., geometrically or trigonometrically) based on the distance measurements at the first and second locations and at least one of the components of the movement vector.

FIG. 9 illustrates a UAV assessment and reporting system using the date and time 910 to identify and/or optionally eliminate shadows in image captures. As shown, a UAV 975 may receive the current date and time 910. The UAV 975 may determine a shadow 945 of obstacles 922 on a site 950. The UAV 975 may refrain from taking images of the portion of a structure 920 covered by the shadow 945 of the obstacle 922, annotate or otherwise identify shadow 945, and/or take additional images at a subsequent time when the shadow 945 has moved. Further, the UAV 975 may determine a time when the shadow 945 will move away from the roof. The UAV assessment and reporting system using the date may also adjust the camera angle on the UAV 975 to avoid shadows 946 from the UAV 975.

FIG. 10 illustrates an UAV assessment and reporting system for analyzing a structure, according to one embodiment. As illustrated, a user interface 1010 may include a site selection interface 1015 to receive an electronic input from an operator or other technician that identifies a location of a structure or other object to be assessed. The user interface 1010 may further include a boundary identification interface 1020 to receive user input identifying geographic boundaries of a site or lot containing a structure and/or of the structure itself. The user interface 1010 may additionally or optionally include a hazard identification interface 1025 allowing a user to identify one or more hazards proximate a structure or site identified using the site selection interface 1015.

A control system 1030 may be onboard a UAV 1055 or may be remote (e.g., cloud-based). The control system 1030 may provide instructions to the UAV 1055 to cause it to conduct an assessment. The control system 1030 may include a tilt angle determination system 1033 to determine a tilt angle for the camera in accordance with any of the embodiments described herein. The control system 1030 may include a camera control module 1035, other sensor control modules 1040, image and/or sensor processing modules 1045, and/or scanning modules 1050 to implement boustrophedonic, loop, and/or micro scans.

The camera control module 1035, for example, may comprise circuitry, processors, look-up tables, memory, encoded instructions, or the like to facilitate pitch determination and/or implement other techniques to align an optical axis of the camera orthogonally with respect to an angled surface of a roof, as described in greater detail below. The camera control module 1035 may adjust the tilt angle of the camera in accordance with the determination of the tilt angle determination system 1033 and/or the pitch determination system 1059 of the UAV 1055.

In some embodiments, the pitch determination system 1059 may reside within the control system 1030, which may or may not be onboard the UAV 1055. The UAV 1055 may include a pitch determination system 1059 to determine a pitch, slope, or angle of the roof in accordance with any of the embodiments described herein. The UAV 1055 itself may include a camera 1060, one or more optical sensors 1065, ultrasonic sensors 1070, other sensors 1075, and one or more network communication systems 1080. FIG. 10 is merely representative of one example embodiment, and numerous variations and combinations are possible to implement the systems and methods described herein.

FIG. 11 illustrates a UAV 1175 measuring a distance to a lower portion 1105 of a roof as 18′ and a distance to an upper portion 1110 of a roof as 57′ at an angle of 28.2°. In the example, the Law of Cosigns can be used to determine that the length of the dashed line on the roof, R, is 42′ (rounded) using the equation below: R=√{square root over (18²+57²−2(57)(18)(cos 28.2))}=42  Equation 1

Once the distance R is known, the Law of Sines can be used to determine that the angle X° is equal to 140° (again, rounded) using the equation below:

$\begin{matrix} {X = {{\sin^{- 1}\left( {\sin\mspace{14mu} 28.2\frac{57}{42}} \right)} = 140}} & {{Equation}\mspace{14mu} 2} \end{matrix}$

The slope of the roof is 180°−X=40°, or approximately a 10/12 pitch roof) (39.81°). In the illustrated embodiment, the distance measurements are taken at a lower edge 1105 of the roof (e.g., proximate a rain gutter) and a peak of the roof 1110. Of course, the same computations can be made for any two distance measurements on the roof at any known angle. Similarly, the illustrated embodiment shows the UAV 1175 even with the lower edge 1105 of the roof. The same computations can be done for different, known angles relative to the lower edge of the roof.

Combining Equations 1 and 2, it can be shown that the slope of the roof is a function of the angle between the two distance measurements and the ratio of the two measurements. In various embodiments, the angle between the two distance measurements and the ratio of the distance measurements can be determined from a captured image of the roof.

A wide variety of techniques exist for capturing images and using the captured images to determine the relative sizes, angles, and dimensions of features within the images. In some embodiments, one or more oblique images of the roof of a structure may be captured at one or more different angles. Various image processing techniques may be utilized to determine the pitch or slope of one or more sections of the roof to enable orthogonal imaging with the optical axis perpendicular to the planar surface of the roof. To make them sufficiently fast, many imaging processing techniques may be implemented by custom hardware (e.g., ASICs or FPGAs) in a camera of a UAV or within a computing center of the UAV. In other embodiments, processing may be done in the cloud and results returned to the UAV. In other embodiments, processing may be performed by a local, wirelessly connected device, such as a tablet being used to control the UAV. In still other embodiments, image processing may be done by a CPU, microcontroller, and/or GPU onboard the UAV by executing instructions stored in a computer-readable medium.

Some examples of image measurement and analysis techniques are known in the art and can be applied using the principles and methods discussed herein. Examples of such image processing techniques include: Wu, Bing-Fei and Lin, Chuan-Tsai, 2006, Robust Image Measurement and Analysis Based on Perspective Transformations, IEEE International Conference on Systems, Man, and Cybernetics, Oct. 8-11, 2006, Taipei, Taiwan, which is hereby incorporated by reference along with each of the citations therein; Murawski, K, 2014, Method of Measuring the Distance to an Object Based on One Shot Obtained from a Motionless Camera with a Fixed-Focus Lens, Military University of Technology, Institute of Teleinformatics and Automatics, S. Kaliskeigo 2, 00-008 Warsaw Poland, which is hereby incorporated by reference in its entirety. Given that many structures and roof surfaces can be approximated as boxes, another approach for computing distances, angles, and dimensions includes application of Fernandes, Leandro A. F., et al., 2006, A Fast and Accurate Approach for Computing the Dimensions of Boxes from Single Perspective Images, J. Braz. Comp. Soc. Vol. 12, No. 2, Campinas, September 2006, which is hereby incorporated by reference in its entirety along with each of the citations therein. In still other embodiments, perspective projection techniques may be utilized to use the inherent perspective of captured images to generate three-dimensional models that enable the calculation of all angles and dimensions, including the pitch of the roof.

FIG. 12 illustrates a captured image 1200 of a planar section of a roof exhibiting perspective distortions to the rectangular shape, according to one embodiment. Because the peak 1210 of the roof is farther away from the camera of the UAV capturing the image 1200, the lower edge 1205 of the roof appears larger than peak 1210 of the roof. That is, the distance L1 is larger than the distance L2 on the screen, even though they are the same size physically. The illustrated angle of 85° is an example of the distortion that could be visible in a captured image 1200.

A pinhole projection formula or derivative of the Thin Lens Equation can be used to calculate the relative distance between L1 and L2. For example, Equation 3 below provides a ratio associating size of an object on a sensor, focal length, actual size of the object, and a distance from which an image of the object is captured.

$\begin{matrix} {\frac{x}{f} = \frac{X}{d}} & {{Equation}\mspace{14mu} 3} \end{matrix}$

In Equation 3, x is the size of the object on the camera sensor, f is the focal length of the lens, X is the actual size of the object, and d is distance from nodal point to the object. Since the actual size X is the same for both the lower edge 1205 and the peak 1210 of the roof, a similar calculation can be performed based on the standard Thin Lens Equation.

The actual lengths of L1 and L2 are physically identical. Accordingly, adjusting for the nodal point variation between the lower edge 1205 and the peak 1210 of the roof, the ratio between the longer length L1 of the lower edge 1205 and the shorter length L2 of the peak 1210 of the roof corresponds to the ratio of the distance, d1, to the lower edge 1205 and the distance, d2, to the peak 1210 of the roof.

The angle between the distance measurement to the lower edge 1205 and the distance measurement to the peak 1210 of the roof can be determined using the Thin Lens Equation based on any known height in the image (e.g., window size, standard height of the door, height of the exterior walls to the roof edge, or other standard measurement) and a known focal length.

FIGS. 13A and 13B illustrate captured images for two different distances. FIG. 13A illustrates an image 1301 captured from a first distance that, due to the relative distance between the top and bottom of the roof, results in a perspective distortion in which L1 appears to be longer than L2. FIG. 13B illustrates an image 1302 captured from a second, closer difference. Because image 1302 is captured from a closer position, it may be larger on the image sensor. However, adjusting image 1302 such that L1 and L1′ are the same (normalizing for size), the perspective distortion in the closer image 1302 of FIG. 13B will be amplified such that

$\frac{L\; 1^{\prime}}{L\; 2^{\prime}} > {\frac{L\; 1}{L\; 2}.}$ Similarly, the distance H1 in FIG. 13A will be greater, in the size-normalized images, than H1′ in FIG. 13B. The ratio of H1 to H1′, corresponds to the change in distance at which the image 1301 of FIG. 13A was captured and the image 1302 of FIG. 13B was captured.

At shorter absolute distances (e.g., 10′) a change in distance between the two images 1301 and 1302, for size-normalized images, will result in more exaggerated changes in L2:L2′ and H1:H1′. For a known focal length and a known change in distance, the ratio of L2:L2′ or H1:H1′ can be used to calculate the absolute distance from the subject structure.

In other embodiments, the actual distance to the structure is not or cannot be calculated based on the available measurements. Instead, the ratio of L2:L2′ and/or H1:H1′ from the two captured images is used to calculate a horizontal distance between the lower edge of a roof and the peak of the roof.

FIG. 14A illustrates a captured image 1400 of a planar section of a roof exhibiting perspective distortions to the rectangular shape, according to one embodiment.

FIG. 14B illustrates a side view of the planar section of the roof of FIG. 14A corresponding to the hypotenuse of known measurements, according to one embodiment. The ratio of L1 to L2 in FIG. 14A, for a given focal length, can be used to determine a distance X1 between the edge of the roof 1405 and the peak of the roof 1410, as illustrated in the side view of FIG. 14B. With a known distance X1, the angle X can be calculated using standard trigonometric identities.

FIG. 15 illustrates a captured image 1500 of a planar section of a roof exhibiting perspective and skewed distortions to the rectangular shape, according to one embodiment. The same mathematic manipulations can be used with various skewed angles by adjusting the skew before pitch calculations are performed, or by adding compensatory adjustments to the identities and trigonometric functions. For example, the skew angle can be determined via image processing. Imaging processing techniques may identify the illustrated angles 81° and 92°, and calculate a skew angle based on the assumption that these two angles should equal. The image can be corrected for skew, or subsequent calculation can account for it mathematically.

FIG. 16A illustrates three sensor measurements by a UAV 1675 relative to a planar roof surface 1620, all taken at a common angle, a. Since the UAV 1675, or at least a camera thereof, is not aligned with an optical axis orthogonal to the planar surface of the roof 1620, the distances are unequal. That is, even though the three or more measurements are taken at three identical angles relative to the optical axis of the camera, the distance to the roof for each measurement is different because the camera of the UAV is not aligned with the roof.

FIG. 16B, which shows the UAV 1675 with three measurements that are identical at 1.4′, is aligned with respect to the planar surface 1620 of the roof. In some embodiments, one sensor takes all three measurements at the three angles relative to the optical axis of the camera. In other embodiments, two or more sensors may be used to capture three or more distance measurements in different directions but at equal angles relative to the optical axis of the camera. In a specific embodiment, the camera itself includes three sensors and self-aligns or directs the UAV 1675 to move enough to allow for self-alignment. The UAV 1675 may capture orthogonally aligned and unskewed images using any of the alignment techniques described herein.

This disclosure has been made with reference to various embodiments, including the best mode. However, those skilled in the art will recognize that changes and modifications may be made to the embodiments without departing from the scope of the present disclosure. While the principles of this disclosure have been shown in various embodiments, many modifications of structure, arrangements, proportions, elements, materials, and components may be adapted for a specific environment and/or operating requirements without departing from the principles and scope of this disclosure. These and other changes or modifications are intended to be included within the scope of the present disclosure.

This disclosure is to be regarded in an illustrative rather than a restrictive sense, and all such modifications are intended to be included within the scope thereof. Likewise, benefits, other advantages, and solutions to problems have been described above with regard to various embodiments. However, benefits, advantages, solutions to problems, and any element(s) that may cause any benefit, advantage, or solution to occur or become more pronounced are not to be construed as a critical, required, or essential feature or element. The scope of the present invention encompasses at least the following claims: 

What is claimed is:
 1. An imaging system for a vehicle to capture orthogonal images of a surface at an angle with respect to a downward direction, comprising: a positioning system to determine a position of a vehicle relative to a surface of a structure that is at an angle relative to a downward direction; a tilt angle determination system to determine a tilt angle for a camera to orthogonally align an optical axis of the camera with the angled surface; a camera control module to implement at least one of: adjust the tilt angle of the camera to orthogonally align the optical axis of the camera with respect to the angled surface, and adjust a location of the camera relative to the surface to facilitate orthogonal alignment of the optical axis of the camera with respect to the angled surface.
 2. The imaging system of claim 1, wherein the tilt angle determination system comprises at least one sensor to measure distance, wherein each sensor is configured to measure a distance to the surface at a known angle relative to the optical axis of the camera.
 3. The imaging system of claim 1, wherein the tilt angle determination system comprising an image processor to process at least one captured image of the surface to determine an angle of the surface.
 4. The imaging system of claim 1, wherein the tilt angle determination system comprising an image processor to process at least one captured image of the surface to determine an angle of the surface.
 5. A system, comprising: a camera to capture images of a portion of a roof of a structure; and an imaging system to: adjust an angle of the camera to a non-zero angle relative to a downward direction to align an optical axis of the camera substantially orthogonal to an angled surface of the roof, and capture an image of the angled surface of the roof with the optical axis of the camera aligned perpendicular to the angled surface.
 6. The system of claim 5, further comprising a camera control module to align the angle of the camera substantially orthogonal with respect to the angled surface of the roof based three equidistant distances measured by a sensor of at a common angle relative to the optical axis of the camera.
 7. The system of claim 5, wherein a pitch of the surface of the roof is determined from a three-dimensional model of at least a portion of the structure.
 8. The system of claim 5, further comprising a pitch determination system to determine the angled surface of the roof, and wherein the pitch of the roof is used to adjust the angle of the camera of to align the optical axis of the camera substantially orthogonal to the angled surface of the roof.
 9. The system of claim 8, wherein the pitch determination system is part of a remote system in communication with the UAV.
 10. The system of claim 8, wherein the pitch determination system comprising an image processing system to determine an angle of the surface of the roof based on at least one captured image.
 11. The system of claim 10, wherein the image processing system utilizes computer vision to identify an angle of the surface of the roof.
 12. The system of claim 5, further comprising a pitch determination system to determine a pitch of the angled surface of the roof, and wherein the pitch of the roof is used adjust the angle of the camera of to align the optical axis of the camera substantially orthogonal to the angled surface of the roof.
 13. The system of claim 5, wherein the imaging system is configured to capture an image with a target square footage of 100 square feet.
 14. The system of claim 5, wherein the camera comprises one of a visible light imaging camera and an infrared imaging camera.
 15. A method, comprising: identifying a non-zero angle with respect to ground to which a camera can be adjusted for a given location relative to a structure to align an optical axis of the camera orthogonal to an angled surface of a roof of a structure; and capturing an image of at least a portion of the angled surface of the roof of the structure that includes a sample region of the surface with a predefined target area-squared (A²) using an imaging system with the optical axis of the camera aligned perpendicular to the angled surface based on the identified non-zero angle.
 16. The method of claim 15, wherein the camera includes an image sensor having an effective aspect ratio that is one of 2:2, 3:2, 4:3, and 16:9.
 17. The method of claim 15, wherein the sample region of the surface of the roof having the target area-squared fills an entire frame of the captured image without cropping.
 18. The method of claim 15, wherein an image sensor of the camera includes a rectangular aspect ratio, and wherein the predefined area-squared (A²) fills an entire rectangular frame.
 19. The method of claim 15, wherein the sample region is one of: rectangular, square, and triangular.
 20. The method of claim 15, wherein the predefined area-squared (A²) comprises a 100 square-foot “test square” that is rectangular. 